package com.castle.fortress.admin.contract.review.dto;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import java.util.Date;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
/**
 * 合同审核记录表 实体类
 *
 * @author
 * @since 2025-04-23
 */
@Data
@ApiModel(value = "contractReview对象", description = "合同审核记录表")
public class ContractReviewDto implements Serializable {
	private static final long serialVersionUID = 1L;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "审核ID")
	@JsonProperty("reviewId")
	private Long reviewId;
	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "合同ID")
	@JsonProperty("contractId")
	private Long contractId;
	@ApiModelProperty(value = "审查立场(partyA:甲方立场 partyB:乙方立场 neutral:中立立场)")
	@JsonProperty("stance")
	private String stance;
	@ApiModelProperty(value = "审查尺度(strong:强势 weak:弱势 equal:均势)")
	@JsonProperty("intensity")
	private String intensity;
	@ApiModelProperty(value = "规则清单ID，多个用逗号分隔")
	@JsonProperty("ruleListId")
	private String ruleListId;
	@ApiModelProperty(value = "审查方式(ai:AI智能生成 knowledge:从知识库选择)")
	@JsonProperty("reviewMethod")
	private String reviewMethod;
	@ApiModelProperty(value = "审核状态(pending:待审核 reviewing:审核中 completed:已完成)")
	@JsonProperty("reviewStatus")
	private String reviewStatus;
	@DateTimeFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@ApiModelProperty(value = "审核时间")
	@JsonProperty("reviewTime")
	private Date reviewTime;
	@ApiModelProperty(value = "审核结果摘要")
	@JsonProperty("reviewResults")
	private String reviewResults;
	@ApiModelProperty(value = "审核意见")
	@JsonProperty("reviewComments")
	private String reviewComments;
	@DateTimeFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@ApiModelProperty(value = "创建时间")
	@JsonProperty("createTime")
	private Date createTime;
	@DateTimeFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@JsonFormat(
		pattern = "yyyy-MM-dd HH:mm:ss"
	)
	@ApiModelProperty(value = "更新时间")
	@JsonProperty("updateTime")
	private Date updateTime;
	@ApiModelProperty(value = "创建人")
	@JsonProperty("createUser")
	private Long createUser;
	@ApiModelProperty(value = "更新人")
	@JsonProperty("updateUser")
	private Long updateUser;

}
